A hosted database management system may be provided as a service operated by a hosting provider on behalf of its customers. These services allow for a customer to store and retrieve data from the database without requiring the customer to incur the technical and administrative overhead of operating a database in their own facilities. This overhead may be significant, including factors such as equipment purchases, salaries for technical personnel and so forth. These factors may continue throughout the lifetime of the database, and may increase as the volume of data stored by the system increases.
One approach to handling large data volumes involves partitioning tables, an approach in which a table is split into two or more segments, each of which may be hosted on a separate computing node. This approach distributes workload and storage requirements over a number of computers, and also allows the hosting provider to use relatively inexpensive hardware, sometimes called commodity servers, instead of the larger and more expensive servers that would be required if the data were to be hosted on a single system.
A further approach to handling large data volumes may be called subpartitioning, which involves splitting the data in each partition into two or more groups. For example, a partition might divide the data in a table based on a customer's last name. If a given partition handled customers whose last name began with the letters “A” through “M,” a subpartition might correspond to data for those customers for the month of July. Subpartitioning the data may have various benefits, such as improved performance and flexibility. There may, however, be various administrative challenges related to subpartitioning, such as potentially large numbers of subpartitions—a table with ten partitions and ten subpartitions each would, for example, have 100 subpartitions. For the providers of hosted database services, the number of subpartitions may be further increased by the potentially large number of tables being managed on behalf of the provider's customers.